package com.unionfind_01;

/**
 * @Author: tgy
 * @Date: 1/12/21 6:05 PM
 *
 *  路径压缩每次查找都要对进行中的节点进行调整，操作比较多，一般不推荐使用
 *
 *
 *
 *   A
 *   /
 *  B
 *  /
 *  C
 *  /
 *  D
 *       A
 *     / \ \
 *    B  C  D
 *
 *
 */
public class UF_QuickUnion_Rank_PathCompression extends UF_QuickUnion_Rank {


    public UF_QuickUnion_Rank_PathCompression(int size) {
        super(size);
    }

    @Override
    public int find(int v) {


        if (parents[v] != v) {

            parents[v] = find(parents[v]);
        }

        return parents[v];
    }
}
